<?php
class UsuariosController extends AppController {
	var $name = 'Usuarios';
	
	function index(){
		$this->loadModel('Usuario');
		$this->layout="ajax";		
		
		if($this->JQGridPaginate->isGrid){
			$fields = array('Usuario.id','Usuario.nombres','Usuario.appaterno','Usuario.apmaterno'
			,'Usuario.dni','Usuario.username',
			'"Usuario"."created"::date AS "Usuario__created"'
			,'"Estado"."descripcion" AS "Usuario__estado"');
			$this->JQGridPaginate->recursive = 0;
			$this->JQGridPaginate->cakefields = $fields;
			echo $this->JQGridPaginate->paginate("Usuario");
			$this->autoRender = false;
		}
		else
			if($this->RequestHandler->isPost()){	
				$oper = $this->params['form']['oper'];
				if($oper == "add"){
			    $this->data['Gasto']['organizacion_id'] = 1;
					$this->Usuario->create();				 
				}elseif ($oper == "edit"){
					$this->data['Usuario']['id'] = $this->params['form']['id'];
				}elseif ($oper == "del"){
					$this->data['Usuario']['id'] = $this->params['form']['id'];
					$this->data['Usuario']['estado_id'] = 2;				
				}
				$this->Usuario->save($this->data['Usuario']);
				$this->autoRender = false;			
			}
	}
	
	function listausuarios(){
		$this->loadModel('Usuario');
		$this->layout="ajax";
		$listaUsuarios = $this->Usuario->getUsuarioLista();
		echo json_encode($listaUsuarios);
		$this->autoRender = false;
	}

    function login(){
        
	}
	
	function logout(){
		$this->redirect($this->Auth->logout());
	}
	
    function register(){ 
		if($this->data){
			if($this->data['Usuario']['password'] == $this->Auth->password($this->data['Usuario']['password_confirm'])){
				$this->Usuario->create();
				if(!$this->Usuario->save($this->data)){
					$this->Session->setFlash('El usuario no ha sido creado');	
				}else{
					$this->Session->setFlash('El usuario ha sido creado, ya puede ingresar');
					$this->redirect($this->Auth->logout());
				} 
			}else{
				$this->flash('Las contraseñas introducidas no concuerdan', 'users/login');
			}
		}
	}
	
    function getEstablecerContrasenia($usuario_id){
        $this->Usuario->recursive = -1;
		$usuario = $this->Usuario->findById($usuario_id);
		$this->set('usuario',$usuario);
	}
	
	function actualizar(){
        $this->layout = 'ajax';
        if($this->variables['Usuario']['id'] == 1){
    	    if($this->data){
    			if($this->data['Usuario']['password'] == $this->Auth->password($this->data['Usuario']['password_confirm'])){
    				if(!$this->Usuario->save($this->data)) echo json_encode(array('respuesta'=>false,'mensaje'=>'Error Contraseña no establecida'));	
    				else echo json_encode(array('respuesta'=>true,'mensaje'=>'La contraseña fue establecida'));
    			}else{
    			    echo json_encode(array('respuesta'=>false,'mensaje'=>'Las contraseñas introducidas no concuerdan'));
    			}
    		}    
	    }else{
	        echo json_encode(array('respuesta'=>false,'mensaje'=>'Solo el administrador puede cambiar las contraseñas'));
	    }
	    $this->autoRender = false;
	}
}